Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addons parsing improvement (dont merge yet) #578

Open
wants to merge 57 commits into
base: master
Choose a base branch
from

Conversation

roymacdonald
Copy link
Member

This is what I have done so far related to this

I have encapsulated the ofAddon class so it is easier to test that it is loading/parsing properly the values for any addon.

I have dealt partially with the macos/osx issue. I say partially because I have not tested it thoroughly and it mostly feels like a hack. But so far it works for me, I am able to use addons, local addons, addons that use libraries, xcframeworks. Still neet to test for those using frameworks, system frameworks and dylibs. Currently only testing on macos 14 (sonoma) and xcode 15.

I will setup my windows/linux computer to be able to test on those other environments as well.

The main idea behind all of it is that an addon is an addon regardless of where it sits in the filesystem. Since all the routes are relative it should not matter where these sit, thus the local addons are treated in the exact same way as the non local ones.

Then the baseProject class does not do much with these besides loading and then it is the job of each baseProject-derived-class to override the necessary functions so it adds the addons properly.

There is a lot to be cleaned and reduced since there is a lot of duplicated code and stuff not even used.
Eventually it should provide a much cleaner way of dealing with addons and project creating in general.

@ofTheo
Copy link
Member

ofTheo commented Oct 3, 2024

@roymacdonald has this been tested more since the PR?

For testing Frameworks:
https://github.com/astellato/ofxSyphon

For testing dylibs:
https://github.com/design-io/ofxOrbbec

I'd love to merge this but would be good to know how much it's been tested across platforms ( as there are so many changes it's hard to review ).

@ofTheo
Copy link
Member

ofTheo commented Oct 21, 2024

@roymacdonald let me know when its good to merge this.

Do you know if this also addresses the issue of make not working on macOS / osx? ( see openframeworks/openFrameworks#8155 )

@roymacdonald
Copy link
Member Author

Hi @ofTheo, I have been using it a lot both on windows and macos and works fine for a lot of the things that had issues, but not linking addons dylibs correctly. I am working on it now.
As for that make issue you mention, seems related to the macos/osx folder renaming (which I still find it to be nonsense, TBH). I've tried make on macos and works fine,

@ofTheo
Copy link
Member

ofTheo commented Oct 21, 2024

Thanks @roymacdonald !
Yeah agree the macOS / osx thing should have been handled better and done in one go with a lot of testing and 100% backwards compatibility with osx. Now it's a bit of a mess.

@roymacdonald
Copy link
Member Author

Indeed it is a mess. In terms of PG, the macos/osx folder renaming is handled for most cases, but still it makes a mess in the scripts and templates folders, with lost of duplicates, and unclear which one is used, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants